home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
226-250
/
disk_244
/
fmc
/
fmc.s
< prev
next >
Wrap
Text File
|
1992-05-06
|
6KB
|
279 lines
opt l+
incdir "vd0:include/"
include intuition/intuition.i
include intuition/intuition_lib.i
include exec/memory.i
include exec/exec_lib.i
include graphics/graphics_lib.i
include graphics/text.i
include libraries/dos_lib.i
include libraries/dos.i
include "misc/easystart.i"
jmp Start
PRINT macro
move #\1,d0
move #\2,d1
move.l _Window,a1
move.l wd_RPort(a1),a1
CALLGRAF Move
move #\3,d0
move.l _Window,a1
move.l wd_RPort(a1),a1
CALLGRAF SetAPen
lea \4,a0
move.l #\5,d0
move.l _Window,a1
move.l wd_RPort(a1),a1
CALLGRAF Text
endm
OpenThem lea dosname(pc),a1
moveq.l #0,d0
CALLEXEC OpenLibrary
move.l d0,_DOSBase
lea intname(pc),a1
moveq.l #0,d0
CALLEXEC OpenLibrary
move.l d0,_IntuitionBase
lea grafname(pc),a1
moveq.l #0,d0
CALLEXEC OpenLibrary
move.l d0,_GfxBase
rts
_DOSBase dc.l 0
dosname DOSNAME
_GfxBase dc.l 0
grafname GRAFNAME
_IntuitionBase dc.l 0
intname INTNAME
_NewWindow dc.w 300,100,160,45
dc.b 1,2
dc.l CLOSEWINDOW!GADGETUP!MENUPICK
dc.l WINDOWCLOSE!ACTIVATE!WINDOWDRAG!WINDOWDEPTH
dc.l Gadget1
dc.l 0,Title
dc.l 0,0
dc.w 0,0,0,0
dc.w WBENCHSCREEN
Title dc.b "FMC by RF",0
Gadget1 dc.l 0
dc.w 9,13,32,30
dc.w GADGHCOMP!GADGHIMAGE!GADGIMAGE,RELVERIFY!TOGGLESELECT,BOOLGADGET
dc.l Image1,Image2,0,0,0
dc.w 1
dc.l 0
Image1 dc.w 0,0,32,30,2
dc.l Data1
dc.b 1+2,0
dc.l 0
Image2 dc.w 0,0,32,30,2
dc.l Data2
dc.b 1+2,0
dc.l 0
Font dc.l FName
dc.w TOPAZ_EIGHTY
dc.b FS_NORMAL
dc.b FPF_ROMFONT
FName dc.b "topaz.font",0
_Window dc.l 0
Start bsr OpenThem
lea.l _NewWindow(pc),a0
CALLINT OpenWindow
move.l d0,_Window
beq exit
jsr Init
lea.l Font(pc),a0
CALLGRAF OpenFont
move.l _Window,a1
move.l wd_RPort(a1),a1
move.l d0,a0
CALLGRAF SetFont
wait PRINT 50,20,2,Text1,4
PRINT 50,30,3,Text2,4
PRINT 50,40,3,Text3,4
moveq #MEMF_PUBLIC,d1
CALLEXEC AvailMem
move.l d0,d2
lea buffer,a0
bsr ASCII
PRINT 90,20,1,buffer,8
moveq #MEMF_FAST,d1
CALLEXEC AvailMem
move.l d0,d2
lea buffer,a0
bsr ASCII
PRINT 90,30,1,buffer,8
moveq #MEMF_CHIP,d1
CALLEXEC AvailMem
move.l d0,d2
lea buffer,a0
bsr ASCII
PRINT 90,40,1,buffer,8
move.l _Window,a0
move.l wd_UserPort(a0),a0
CALLEXEC GetMsg
tst.l d0
bne Message
move.l #30,d1
CALLDOS Delay
bra wait
Message move.l d0,a1
move.l im_Class(a1),d4
CALLEXEC ReplyMsg
cmp.l #MENUPICK,d4
beq Menue
cmp.l #CLOSEWINDOW,d4
bne Change
move.l _Window,a0
CALLINT CloseWindow
jsr Reset
exit moveq #0,d0
rts
Change eor.b #$ff,FM_Flag
bra wait
ASCII clr.b d3
moveq #7,d0
lea buffer,a0
lea pwrof10,a1
nex moveq #'0',d1
dec addq #1,d1
sub.l (a1),d2
bcc.s dec
subq #1,d1
add.l (a1),d2
move.b d1,(a0)+
lea 4(a1),a1
dbra d0,nex
moveq #6,d0
lea buffer,a0
rep cmp.b #'0',(a0)
bne done
move.b #' ',(a0)+
dbra d0,rep
done rts
pwrof10 dc.l 10000000
dc.l 1000000
dc.l 100000
dc.l 10000
dc.l 1000
dc.l 100
dc.l 10
dc.l 1
buffer ds.b 10
Text1 dc.b "RAM "
Text2 dc.b "Fast"
Text3 dc.b "Chip"
Init move.l 4,a6
move.l _LVOAvailMem+2(a6),NAvM+2
move.l #NewAvailMem,_LVOAvailMem+2(a6)
move.l _LVOAllocMem+2(a6),NAcM+2
move.l #NewAllocMem,_LVOAllocMem+2(a6)
rts
Reset move.l 4,a6
move.l NAvM+2,_LVOAvailMem+2(a6)
move.l NAcM+2,_LVOAllocMem+2(a6)
rts
FM_Flag dc.b 0
even
NewAvailMem tst.b FM_Flag
beq.s NAvM
btst #2,d1
bne NAvM2
or.b #%11,d1
NAvM jmp 0
NAvM2 moveq.l #0,d0
rts
NewAllocMem tst.b FM_Flag
beq.s NAcM
btst #2,d1
bne NAvM2
or.b #%11,d1
NAcM jmp 0
Menue CALLEXEC Forbid
move.l _Window,a0
cmp.w #20,wd_Height(a0)
bls MakeBig ; stretch window to normal size
moveq.l #0,d0
move.w #10,d1
sub.w wd_Height(a0),d1
CALLINT SizeWindow
CALLEXEC Permit
bra wait
MakeBig move.l _Window,a0 ;crunch window to min. size
moveq.l #0,d0
move.w wd_TopEdge(a0),d1
neg.w d1
CALLINT MoveWindow ; move window to top (to have enough room)
move.l _Window,a0
moveq.l #0,d0
move.w #35,d1
CALLINT SizeWindow ; resize window
CALLEXEC Permit
move.l #10,d1 ; Intuition needs time to understand it
CALLDOS Delay ; (don't ask me why !)
bra wait
section "data",DATA_C
Data1 dc.b $ff,$ff,$ff,$ff,$c0,$00,$00,$03,$c0,$79,$f0,$03,$c0,$cd,$98,$03
dc.b $c0,$cd,$98,$03,$c0,$79,$98,$03,$c0,$00,$00,$03,$c0,$03,$c0,$03
dc.b $c0,$07,$e0,$03,$c0,$07,$e0,$03,$c0,$03,$c0,$03,$c0,$03,$c0,$03
dc.b $c0,$07,$e0,$03,$c0,$0b,$d0,$03,$c0,$13,$c8,$03,$c0,$13,$c8,$03
dc.b $c0,$08,$10,$03,$c0,$07,$e0,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$01,$c7,$03
dc.b $c1,$e3,$0c,$03,$c3,$37,$9e,$03,$c3,$33,$0c,$03,$c1,$e3,$0c,$03
dc.b $c0,$00,$00,$03,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$28,$00,$03,$c0,$57,$c0,$03,$c0,$2f,$e0,$03,$c0,$17,$e0,$03
dc.b $c0,$2b,$c0,$03,$c0,$17,$c0,$03,$c0,$2b,$c0,$03,$c0,$17,$e0,$03
dc.b $c0,$2f,$f0,$03,$c0,$0f,$f0,$03,$c0,$07,$e0,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$ff,$ff,$ff,$ff
Data2 dc.b $ff,$ff,$ff,$ff,$c0,$00,$00,$03,$c0,$79,$f0,$03,$c0,$cd,$98,$03
dc.b $c0,$cd,$98,$03,$c0,$79,$98,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$07,$e0,$03,$c0,$08,$10,$03,$c0,$13,$c8,$03,$c0,$13,$c8,$03
dc.b $c0,$0b,$d0,$03,$c0,$07,$e0,$03,$c0,$03,$c0,$03,$c0,$03,$c0,$03
dc.b $c0,$07,$e0,$03,$c0,$07,$e0,$03,$c0,$03,$c0,$03,$c0,$01,$c7,$03
dc.b $c1,$e3,$0c,$03,$c3,$37,$9e,$03,$c3,$33,$0c,$03,$c1,$e3,$0c,$03
dc.b $c0,$00,$00,$03,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$07,$e0,$03
dc.b $c0,$0f,$f0,$03,$c0,$2f,$f0,$03,$c0,$17,$e0,$03,$c0,$2b,$c0,$03
dc.b $c0,$17,$c0,$03,$c0,$2b,$c0,$03,$c0,$17,$e0,$03,$c0,$2f,$e0,$03
dc.b $c0,$57,$c0,$03,$c0,$28,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03
dc.b $c0,$00,$00,$03,$c0,$00,$00,$03,$c0,$00,$00,$03,$ff,$ff,$ff,$ff